/*
 * GraphL.h
 *
 *  Created on: 2012-04-03
 *      Author: tony
 */

#ifndef GRAPHL_H_
#define GRAPHL_H_

#include "AdjacencyList.h"
#include "BinaryTree.h"

namespace graph {

class GraphL {
public:
	GraphL();
	GraphL(const int n);
	void addEdge(const int i, const int j, const float w);
	void removeEdge(const int i, const int j);
	BinaryTree* createTree();
	virtual ~GraphL();
	friend std::ostream& operator <<(std::ostream& out, const GraphL& g) {
		if ( g.list != NULL )
			out << *(g.list);
		return out;
	}
private:
	AdjacencyList* list;
};

} /* namespace graph */
#endif /* GRAPHL_H_ */
